﻿# Windows平台相关定义，包括源码，CXX FLAG，LINK FLAG和第三方库
message("Platform Windows Libs Path: " ${NS_LIBS_ROOT})
message("Project Windows Libs Path: " ${PROJECT_LIBS_ROOT})

# 平台相关代码声明
#set(PROJECT_PLATFORM_CUSTOM_SOURCE
#${DIR_SRC}/Platform/windows/develop_custom_code.cpp
#)

# 声明平台编译需要的编译选项
#set(PROJECT_PLATFORM_CUSTOM_CXX_FLAGS 
#"/D_WINDOWS /D_CRT_SECURE_NO_WARNINGS"
#)

# 声明平台编译需要的链接选项
#set(PROJECT_PLATFORM_CUSTOM_LINK_FLAGS
#"/OPT:ICF /INCREMENTAL:NO"
#)

# 声明仅针对运行程序的编译选项，一般可用于DLL访问时编译需要区分dllimport和dllexport的情况
#set(EXECUTABLE_CUSTOM_DEFINITIONS "TEST_EXPORTS")

# 声明仅针对项目库的编译选项，一般可用于DLL访问时编译需要区分dllimport和dllexport的情况
# 需要在程序端(如NSMainWindows.cpp)调用NSProject.dll的函数，可参考下面的示例，只在PROJECT_CUSTOM_DEFINITIONS增加宏定义(如TEST_EXPORTS)，让DLL编译时采用export，其他均为import
# #ifdef TEST_EXPORTS
#	#define TEST_API __declspec(dllexport)
# #else
#	#define TEST_API __declspec(dllimport)
# #endif
# class TEST_API TEST_ACCESS_DLL_CLASS{...}

#set(PROJECT_CUSTOM_DEFINITIONS "TEST_EXPORTS")

# 平台相关的头文件引用，如平台无关在ProjectCompileCustom指定
#include_directories(CUSTOM_INCLUDE_PLATFORM_RELATED_DIR)

# Followings are sample of add custom 3rd libs
# 声明参与编译的动态链接库
#add_library(libCUSTOM_LIB SHARED IMPORTED)
#set_target_properties(libCUSTOM_LIB IMPORTED_IMPLIB ${PROJECT_LIBS_ROOT}/CUSTOM_LIB.lib)

# 声明参与编译的静态链接库
#add_library(libCUSTOM_STATIC_LIB STATIC IMPORTED)
#set_target_properties(libCUSTOM_STATIC_LIB PROPERTIES IMPORTED_LOCATION ${PROJECT_LIBS_ROOT}/CUSTOM_STATIC_LIB.lib)

# Following is the sample of add custom 3rd libs
# 将库加入链接列表
#list(APPEND PLATFORM_LINK_LIBS
#libCUSTOM_LIB
#libCUSTOM_STATIC_LIB
#)
